/**
 * 
 */
package com.gosophia.conferenceManagement.starting.ws;

import com.gosophia.commons.exception.BusinessException;
import com.gosophia.conferenceManagement.starting.dto.ConferenceStartingDTO;

/**
 * 功能：会议临时存储webservice
 * 
 * @author zhangdongsheng
 * @since 2011-3-22 Copyright (c) 2010 Gosophia corporation All Rights Reserved
 */
public interface ConferenceTransientStoreWebService {
	
	/**
	 * 保存发起暂存
	 * @param conferenceStartingDTO 暂存 不能为null
	 * @return 存储后的暂存（带id）
	 * @throws BusinessException  保存失败时
	 */
	public ConferenceStartingDTO saveTransientInfo(
			ConferenceStartingDTO conferenceStartingDTO)
			throws BusinessException;
	
	/**
	 * 更新暂存
	 * @param conferenceStartingDTO  要更新的字段 不能为null
	 * @return  更新后的暂存
	 * @throws BusinessException  更新失败时
	 */
	public ConferenceStartingDTO updateTransientInfo(
			ConferenceStartingDTO conferenceStartingDTO)
			throws BusinessException;
	
	/**
	 * 根据jobId查询暂存
	 * @param jobId  关联任务编号 不能为null
	 * @return  根据jobId查询的暂存 没有值时返回null
	 * @throws BusinessException 查询中出现问题时
	 */
	public ConferenceStartingDTO findTransientInfoByJobId(Long jobId)
			throws BusinessException;
	
	/**
	 * 根据操作人编号查询暂存
	 * @param userInfoId 操作人编号 不能为null
	 * @return 根据操作人编号的查询暂存 没有值时返回null
	 * @throws BusinessException  查询中出现问题时
	 */
	public ConferenceStartingDTO findTransientInfoByCreator(Long userInfoId)
			throws BusinessException;
	
	/**
	 *  根据暂存编号查询暂存
	 * @param transientInfoId 暂存编号 不能为null
	 * @return 根据暂存编号查询的暂存实体 没有值时返回null
	 * @throws BusinessException  查询中出现问题时
	 */
	public ConferenceStartingDTO findTransientInfoById(Long transientInfoId)
			throws BusinessException;
	
	/**
	 *  根据暂存编号删除暂存
	 * @param transientInfoId 暂存编号 不能为null
	 * @throws BusinessException 删除失败时
	 */
	public void deleteTransientInfoById(Long transientInfoId)
			throws BusinessException;
}
